iT邦幫忙

1

csv格式轉成Coinitems json格式

  • 分享至 

  • xImage
  •  

我有一些CSV文件,想把它們轉成Coinitems json格式,即是把第一列爲keys,後面的列爲values。但第一列中的内容有相同的,也就是說,得先判斷新增得key值在不在里面,如果在,就不增加key,只增加value,不在,增加key和value值。如何是好?谢谢大家。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Nil
iT邦新手 5 級 ‧ 2023-01-05 09:10:22

C#

// 檔案路徑
string[] filePaths = new string[] { @"./myscores.csv" };

foreach (string file in filePaths)
{
	// 讀取檔案
	StreamReader sr = new StreamReader(file);

	// 讀取CSV第一列
	string[] Keys = sr.ReadLine().Split(',');
	Dictionary<string, List<string>> data = new Dictionary<string, List<string>>();

	// 取出參數
	while (!sr.EndOfStream)
	{
		// 讀取Row
		string[] row = sr.ReadLine().Split(',');

		for (int i = 0; i < Keys.Length; i++)
		{
			string key = Keys[i];

			// 有key時,進行新增value
			if (data.Keys.Contains(key))
			{
				data[key].Add(row[i]);
			}
			else // 沒key時,實例List並放value
			{
				data.Add(key, new List<string>() { row[i] });
			}
		}
	}
	
	// 轉換成json
	var json = JsonConvert.SerializeObject(data);
	Console.WriteLine(json);

	// 關閉
	sr.Close();
}

我要留言

立即登入留言